import { BaseImageUrl } from "@/api/common";

// 获取当前时间 函数
export function formatTime() {
  const date = new Date();
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, "0"); // 月份从0开始
  const day = String(date.getDate()).padStart(2, "0");
  const hours = String(date.getHours()).padStart(2, "0");
  const minutes = String(date.getMinutes()).padStart(2, "0");
  // const seconds = String(date.getSeconds()).padStart(2, '0'); // 获取秒数并补零

  return `${year}-${month}-${day} ${hours}:${minutes}:00`;
}

// 防抖函数
export function debounce(delay, func) {
  let timer = null;
  return function (...args) {
    if (timer) clearTimeout(timer);
    timer = setTimeout(() => {
      func.apply(this, args);
    }, delay);
  };
}

/**
 * 将 ISO 8601 格式的时间字符串转换为本地时间字符串
 * @param {string} iso8601 - ISO 8601 格式的时间字符串（如：2025-06-27T07:58:09.000+00:00）
 * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - 输出格式（可选）
 * @returns {string} 格式化后的本地时间字符串
 */
export function iso8601ToTime(iso8601, format = "YYYY-MM-DD HH:mm:ss") {
  if (!iso8601) return "";
  const date = new Date(iso8601);
  // 检查日期是否有效
  if (isNaN(date.getTime())) {
    console.error("Invalid ISO 8601 date:", iso8601);
    return iso8601;
  }
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, "0"); // 月份从0开始
  const day = String(date.getDate()).padStart(2, "0");
  const hours = String(date.getHours()).padStart(2, "0");
  const minutes = String(date.getMinutes()).padStart(2, "0");
  const seconds = String(date.getSeconds()).padStart(2, "0");

  // 根据格式选项返回不同格式
  return format
    .replace("YYYY", year)
    .replace("MM", month)
    .replace("DD", day)
    .replace("HH", hours)
    .replace("mm", minutes)
    .replace("ss", seconds);
}

// 在获取图片URL时进行拼接
export function ImageUrlWithToken(url) {
  if (!url) return "";

  return `${BaseImageUrl}${url}`;
}
